#pragma once

#include <iostream>
#include <stdarg.h>
#include <time.h>

#define Info 0
#define Debug 1
#define Waring 2
#define Error 3
#define Fatal 4

#define SIZE 1024

std::string levelTostring(int level)
{
    switch(level)
    {
        case Info:return "Info";
        case Debug:return "Debug";
        case Waring:return "Waring";
        case Error:return "Error";
        case Fatal:return "Fatal";
        default: return "None";
    }    
}

//日志函数
void logmessage(int level,const char* format,...)// ...可变参数
{
    char defalutbuffer[SIZE];
    //snprintf(defalutbuffer,sizeof(defalutbuffer),"[%s][%d-%d-%d %d:%d:%d]",levelTostring(level),);
}

// int sum(int n,...)
// {
//     va_list s;
//     va_start(s,n);//宏

//     int sum = 0;
//     while(n)
//     {
//         sum += va_arg(s,int);
//         n--;
//     }

//     va_end(s); //s = nullptr
//     return sum;
// }

// void test_sum()
// {
//     std::cout << sum(1,20) << std::endl;
//     std::cout << sum(2,1,2) << std::endl;
//     std::cout << sum(3,1,2,3) << std::endl;
//     std::cout << sum(4,1,2,3,4) << std::endl;
// }